#ifndef __PSUTIL_H__
#define __PSUTIL_H__

#include <string>
#include <vector>
#include <iostream>
#include "psTypes.h"

typedef struct argStruct {
	int alpha;
	int beta1;
	int beta2;
	int gamma;
	int maxColor;
	std::string dataFileName;
}ArgStruct;

class PSUtil {
public:
	PSUtil();
	~PSUtil();

	static void setGlobals(int size, int rank);
	static ArgStruct getArgs(int &argc, char** &argv);
	static int getMax(std::vector<int> grpCount);
	static bool belongsTo (std::vector<int> V, int ele);
	static int getInt(const char c);
	static std::vector<intVec> transposeMat(std::vector<intVec> v);
	static void printMatrix(intIntVec matrix);

private:
//	std::vector<intVec>::iterator i;
};
#endif
